<?php
/**
 * 名称  ：火影死神传 sdk
 **/
namespace app\sdk;  // php 5.3+   低版本PHP直接把本行注释

/** 接口域名 */
//define('Const_Domain_HyAPI',  	 			'ywhyi.gamecore.cn');

/** 运营商通信密码 */
//define('Const_Serv_Cooperate_Key',  	 		'e10a*******************883e');

 /**
  * 登录接口(方式:POST):
  * @param $url	 		string	当前服的登录地址
  * @param $cid	 		uint	合作方的ID
  * @param $account	 	string	平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint	游戏服务器
  * @param $fcm			uint	防沉迷认证状态(0:未认证；1:已认证)
  * @param $fcmid 		string  防沉迷唯一标识(如:未成年人的身份证md5值)
  * @param $referrer 	string  广告引导网址
  * @param $source 		string  来源渠道
  */
function hyapi_user_login($url,$cid,$account,$sid,$fcm,$fcmid='',$referrer='',$source='')
{
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$account= urlencode($account);
 	$para	= "cid={$cid}&account={$account}&sid={$sid}&fcm={$fcm}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	echo '<html>
			  <head/>
			  <body>
				<form method="post" id="game_hy_login_form" action="'.$url.'">				
					<input type="hidden" name="cid"     	value="'.$cid.'">
					<input type="hidden" name="account" 	value="'.$account.'">
					<input type="hidden" name="sid"     	value="'.$sid.'">
					<input type="hidden" name="fcm"     	value="'.$fcm.'">
					<input type="hidden" name="time"    	value="'.$time.'">				
					<input type="hidden" name="sign"    	value="'.$sign.'">
					<input type="hidden" name="fcmid"     	value="'.$fcmid.'">
					<input type="hidden" name="screen"  	value="">
					<input type="hidden" name="source"     	value="'.$source.'">
					<input type="hidden" name="referrer"    value="'.$referrer.'">
				</form>
				<script type="text/javascript">
					var form 			= document.getElementById("game_hy_login_form");
					form.screen.value	= screen.width+"x"+screen.height;
				 	form.submit();
				</script>
			 </body> 
		   </html>';
 	exit();
 }
 /**
  * 玩家创建检查(方式:GET)
  * @param $cid	 		uint	合作方的ID
  * @param $account	 	string	平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint	游戏服务器
  */
 function hyapi_user_check($cid,$account,$sid)
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&account={$account}&sid={$sid}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/User/Check?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 /**
  * 更换用户名(方式:GET)
  * @param $cid	 			uint	合作方的ID
  * @param $account_old 	string	平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $account_new	 	string	平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 			uint	游戏服务器
  */
 function hyapi_user_change($cid,$account_old,$account_new,$sid)
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&account_old={$account_old}&account_new={$account_new}&sid={$sid}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/User/Change?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 
 /**
  * 获取玩家信息(方式:GET)
  * @param $cid	 		uint	合作方的ID
  * @param $account	 	string	平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint	游戏服务器
  * @param $select	 	string	需要获取的用户属性,多个逗号,分开
  */
 function hyapi_user_info($cid,$account,$sid,$select='*')
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&account={$account}&sid={$sid}&select={$select}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/User/Info?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 /**
  * 导出玩家信息(方式:GET)
  * @param $cid	 		uint	合作方的ID
  * @param $sid	 		uint	游戏服务器
  * @param $limit	 	uint	获取数量,单次最大10000条
  * @param $offset 		uint	开始位置，默认为0
  * @param $select	 	string	需要获取的用户属性,多个逗号,分开(*为所有)
  */
 function hyapi_user_export($cid,$sid,$limit,$offset=0,$select="*")
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&sid={$sid}&limit={$limit}&offset={$offset}&select={$select}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/User/Export?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 /**
  * 获取角色名对应的UID(方式:GET)
  * @param $cid	 		uint	合作方的ID
  * @param $accounts 	string	平台用户唯一标识,多个逗号,分开,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint	游戏服务器
  */
//  function hyapi_user_name2uid($cid,$accounts,$sid)
//  {
//  	$time	= time();
//  	$key	= Const_Serv_Cooperate_Key;
//  	$para	= "cid={$cid}&accounts={$accounts}&sid={$sid}&time={$time}";
//  	$sign	= md5("{$para}&key={$key}");
//  	$url  	= "http://".Const_Domain_HyAPI."/api/User/AccountToUid?{$para}&sign={$sign}";
//  	return private_hyapi_fun_http($url);
//  }
  
 /**
  * 充值接口(方式:GET):
  * @param $oid	     	string   	订单编号(请保证唯一性)
  * @param $cid		 	uint		合作方的ID 
  * @param $account		string		平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint		游戏服务器
  * @param $rmb			uint		充值金额(RMB)
  * @param $point		uint		游戏礼券(默认为0)
  */
 function hyapi_pay_add($oid,$cid,$account,$sid,$rmb,$point=0)
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "oid={$oid}&cid={$cid}&account={$account}&sid={$sid}&rmb={$rmb}&point={$point}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/Pay/Add?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 /**
  * 余额查询(方式:GET):
  * @param $cid		 	uint		合作方的ID 
  * @param $account		string		平台用户唯一标识,UTF-8编码,有中文需urlencode()
  * @param $sid	 		uint		游戏服务器
  */
  function hyapi_pay_balance($cid,$account,$sid)
  {
  	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&account={$account}&sid={$sid}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/Pay/Balance?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 
 /**
  * 排行(方式:GET):
  * @param $cid		 	uint		合作方的ID
  * @param $sid	 		uint		游戏服务器
  * @param $rank 		string		排行类型（level:等级[默认]，gold:金币，score:积分...)
  * @param $limit	 	uint		获取数量,单次最大100条(默认10)
  */
 function hyapi_rank($sid,$cid,$rank='Lv',$limit=10)
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&sid={$sid}&rank={$rank}&limit={$limit}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/Rank?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
 /**
  * 卡片领取接口(方式:GET):
  * @param $cid		 	uint		合作方的ID
  * @param $sid	 		uint		游戏服务器
  * @param $type	 	string		类型（new:新手卡[默认]，其它运营时定...)
  * @param $limit 		uint		获取数量,单次最大200条(默认50)
  */
//  function hyapi_card_gets($sid,$cid,$type='new',$limit=50)
//  {
//  	$time	= time();
//  	$key	= Const_Serv_Cooperate_Key;
//  	$para	= "cid={$cid}&sid={$sid}&type={$type}&limit={$limit}&time={$time}";
//  	$sign	= md5("{$para}&key={$key}");
//  	$url  	= "http://".Const_Domain_HyAPI."/api/Card/Gets?{$para}&sign={$sign}";
//  	return private_hyapi_fun_http($url);
//  }
 /**
  * 服务器列表(方式:GET):
  * @param $cid		 	uint		合作方的ID
  */
 function hyapi_serv_lists($cid)
 {
 	$time	= time();
 	$key	= Const_Serv_Cooperate_Key;
 	$para	= "cid={$cid}&time={$time}";
 	$sign	= md5("{$para}&key={$key}");
 	$url  	= "http://".Const_Domain_HyAPI."/api/Serv/Lists?{$para}&sign={$sign}";
 	return private_hyapi_fun_http($url);
 }
/**
 * @property 
 */
function private_hyapi_fun_http($url)
{
    //echo '$url:',$url,'<br />';
	$rs  	= file_get_contents($url);
	if($rs)
	{
	    //echo '$rs:',$rs,'<br />';
		$rs = json_decode($rs,1);
		if($rs){
			return $rs;
		}else {
			return array('error'=>99,'msg'=>'获取服务器信息失败或设置异常(json)');
		}
	}else {
		return array('error'=>99,'msg'=>'获取服务器信息失败或设置异常(空返回)');
	}
}